socket
মডিউল ব্যবহার করে Server এবং Client তৈরিPython এর socket
মডিউল নেটওয়ার্ক প্রোগ্রামিংয়ের জন্য একটি শক্তিশালী টুল। এটি TCP/IP প্রোটোকলের মাধ্যমে সার্ভার এবং ক্লায়েন্টের মধ্যে যোগাযোগ স্থাপন করতে ব্যবহৃত হয়। এখানে আমরা একটি সহজ TCP/IP সার্ভার এবং ক্লায়েন্ট তৈরি করব, যেখানে সার্ভার একটি পোর্টে অপেক্ষা করবে এবং ক্লায়েন্ট সেই পোর্টে সংযোগ করে সার্ভারের সাথে ডেটা আদান-প্রদান করবে।
সার্ভার একটি নির্দিষ্ট পোর্টে ক্লায়েন্টের সংযোগের জন্য অপেক্ষা করবে এবং ক্লায়েন্ট থেকে আসা ডেটা গ্রহণ করবে। এটি একটি সাধারণ TCP সার্ভার হবে যা একটি ক্লায়েন্টের কাছ থেকে ডেটা নিয়ে উত্তর পাঠাবে।
import socket
# সার্ভার সেটআপ
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# সার্ভারের IP এবং পোর্ট সেট করা
server_socket.bind(('127.0.0.1', 65432))
# সার্ভারের লিসেনিং শুরু
server_socket.listen()
print("Server is listening for incoming connections...")
# ক্লায়েন্ট সংযোগ গ্রহণ
client_socket, client_address = server_socket.accept()
print(f"Connection established with {client_address}")
# ক্লায়েন্ট থেকে ডেটা গ্রহণ করা
data = client_socket.recv(1024)
print(f"Received data: {data.decode()}")
# ক্লায়েন্টকে রিপ্লাই পাঠানো
client_socket.sendall(b"Hello, Client!")
# সংযোগ বন্ধ করা
client_socket.close()
127.0.0.1
(লোকালহোস্ট) আইপি এবং 65432
পোর্টে সংযোগ গ্রহণের জন্য অপেক্ষা করবে।accept()
মেথডের মাধ্যমে সংযোগ গ্রহণ করবে।ক্লায়েন্ট সার্ভারের সাথে সংযোগ স্থাপন করবে এবং একটি মেসেজ পাঠাবে। সার্ভার থেকে উত্তর পেলে সেটি ক্লায়েন্টের দিকে ফেরত পাঠাবে।
import socket
# ক্লায়েন্ট সেটআপ
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# সার্ভারের IP এবং পোর্টে সংযোগ করা
client_socket.connect(('127.0.0.1', 65432))
# সার্ভারকে একটি মেসেজ পাঠানো
client_socket.sendall(b"Hello, Server!")
# সার্ভার থেকে উত্তর গ্রহণ করা
data = client_socket.recv(1024)
print(f"Received from server: {data.decode()}")
# সংযোগ বন্ধ করা
client_socket.close()
127.0.0.1
আইপি এবং 65432
পোর্টে সংযোগ করবে।সার্ভার আউটপুট:
Server is listening for incoming connections...
Connection established with ('127.0.0.1', 51234)
Received data: Hello, Server!
ক্লায়েন্ট আউটপুট:
Received from server: Hello, Client!
এটি একটি সাধারণ TCP/IP সার্ভার এবং ক্লায়েন্টের উদাহরণ যা Python এর socket
মডিউল ব্যবহার করে তৈরি করা হয়েছে। সার্ভার ক্লায়েন্টের সংযোগ গ্রহণ করে ডেটা গ্রহণ করে এবং একটি উত্তর পাঠায়, এবং ক্লায়েন্ট সার্ভারে সংযোগ করে ডেটা পাঠায় এবং উত্তর গ্রহণ করে। socket
মডিউল এর মাধ্যমে আপনি আরও উন্নত নেটওয়ার্ক প্রোগ্রামিং করতে পারেন, যেমন মাল্টি-ক্লায়েন্ট হ্যান্ডলিং, আসিঙ্ক্রোনাস যোগাযোগ, এবং সিকিউরড (SSL/TLS) সংযোগ তৈরি।
common.read_more